

// 参数装饰器
export class DMethod {
    static enumerable(value: string) {
        return function (target: any, propertyKey: string, paramIndex: number) {
            !target.$Meta && (target.$Meta = {});
            target.$Meta[paramIndex] = value;
            console.log('target', target)
        };
    }
    static Getter(value: string) {
        return function (target: any, propertyKey: string, paramIndex: number) {

        }
    }
    static Setter(value: string) {
        return function (target: any, propertyKey: string, paramIndex: number) {

        }
    }
}

// 属性装饰器
export class DAttribute {
    static DefaultValue(value: string) {
        return function (target: any, propertyName: string) {
            target[propertyName] = value;
        }
    }
}

// 类装饰器
export class  DClass {
    static DefaultValue(value: string) {
        return function (target: any, propertyName: string) {
            target[propertyName] = value;
        }
    }
}